
                            !Mask - Help (Version 2.0)
                           ============================
  Note:If you run this on a RasPi machine then, in the !Run file of !Mask,
       change the line 'Set RPi4 0' to 'Set RPi4 1'.
  
  Introduction
  ------------

    !Mask takes a sprite (picture) and enables the user to make 'cutouts'
   (i.e masks) of any desired shape, of any part (or several parts) of
   the picture and paste them elsewhere on the picture.

    These 'cutouts' can be rotated, enlarged, stretched, flipped etc.
   before plotting, and can also be used as a painting brush.

    It is easy to make cutouts with holes, and several different areas of
   the screen can form a single 'cutout' (mask).

    Any modified 'screens' can be re-saved.
    Masks can also be saved, for later use or for import into !Draw etc.

  Getting started
  ---------------

       Double-clicking on the filer-window icon will load the program onto
      the icon bar. There are two ways to get started :-

 (1)   Dropping a sprite-picture or mask onto the icon-bar icon will load
      it into !Mask ready to be worked on.
 
 (2)   Clicking on the icon-bar icon displays a catalogue of the
      sprites/masks (if any) currently contained in the directory 'Pics',
      which is found inside the main !Mask application directory.
      It requests a sprite (or mask) to be loaded - just press one of the
      letter keys (a,b,c,....).
      
       You can also just press 'Return' at this stage. This will display
      a default (full) screen of some simple coloured shapes that can be
      used to experiment with the various facilities.

  N.B  The loaded sprite/mask will be initially displayed at its original
      size. However pressing the <F> key will toggle through 3 possible
      sizes - Original, Max and Full (where Max = full screen with
      perspective, and Full = full screen ignoring perspective).
      You choose which you prefer to work with.
      Be aware that pressing <F> will force a restart of the program
      using the new 'size' i.e your current 'background' screen will
      change (but your current mask will be retained).


       To work on your own sprite/mask, called 'MyPic' say, either :-

      a) just drop it onto !Mask on the icon-bar (as in (1) above)
   OR
      b) place it inside the directory 'Pics' before running !Mask.
         You can then load it in when !Mask is run, by choosing it from
         the displayed catalogue.

      All saved screens 'Pic1', 'Pic2' etc. will appear in directory 'Pics'.
      All saved masks 'Mask1', 'Mask2' etc. will appear in directory 'Pics'.

       If you want to retain any of your saved screens/masks you should
      transfer them to another directory for safe keeping. There is a limit
      of 26 files (corresponding to  a,b,c,..,y,z) that can be stored and
      displayed in the directory 'Pics'.
      

  ***********************************************************************


  Creating a 'cutout' (mask):
  ---------------------------

  MOUSE:-

  1)  Click <Select> at various points to form the boundary of your shape.
      Selecting a slow Mouse speed (see below) and clicking often will
      enable very intricate shapes to be captured as a 'cutout' mask.

  2)  Clicking <Adjust> will terminate the formation of the current mask.
      It will automatically close the shape (by forming a closed loop).
      The mask can now be moved around, plotted and manipulated etc.

  HOWEVER,

  3)  Clicking <Menu> automatically closes the current shape only, forming
      a closed loop (self-intersecting loops are properly handled), but
      does NOT terminate the formation of the mask.

      We can now continue with another shape by clicking <Select> on some
      new set of points. This shape can be inside or outside the previous
      ones, so it is easy to make masks with holes.
      Click <Menu> again to close the current loop.

      We can repeat the above as often as we like to build up a whole set
      of shapes (until it is terminated by clicking <Adjust> - see below).

      The whole set will form a single mask, and can be manipulated as such
      by using the facilities outlined below.

      Note that self-intersecting loops and overlapping shapes obey the
      so-called even-odd winding rule. See the Draw files inside !Mask
      (called 'LoopRules1' and 'LoopRules2') for some simple examples of
      how this works.
  
      Finally click <Adjust> to finish (it will automatically close the
      last shape).
      The whole set of shapes/loops will now form a single mask.
      The 'centre' of this whole set is the centre of an imaginary bounding
      rectangular box that surrounds the complete set. This will be the
      centre for rotation, stretching etc
    

  Manipulating the 'cutout' mask:
  -------------------------------

  MOUSE:-

  1) Moving the Mouse moves the mask.
  2) Clicking <Select> will plot the mask at its current position.
  3) Click <Adjust> to Magnify, or <Menu> to Reduce (same as keys >,< below).


  KEYS:- 

      (Note: use <Alt> to toggle between large/small parameter adjustments)

  1)  <Z>,<X> rotate the mask anticlockwise, clockwise respectively.
  2)   >, <  will magnify, reduce the global size (same as <Adjust>,<Menu>).
  3)  Left,Right cursor keys - to stretch/reduce the width of the mask.
  4)  Up,Down cursor keys - to stretch/reduce the depth of the mask.
  5)  <H> flips the mask about the Horizontal axis (of the screen).
  6)  <V> flips the mask about the Vertical axis (of the screen). 
  7)  <W> flips the mask about its Width.
  8)  <D> flips the mask about its Depth.

  9)  <B> toggles Brush ON/OFF (i.e you can use the mask as a paint brush).
 10)  <R> Restores the current mask to its initial size and orientation.
 11)  <C> Clears the background (to Black), but still retains the current mask.
 12)  <O> will restore the background to the original (or updated) background.

 13)  <S> saves screens as 'Pic1', 'Pic2' etc. in succession 
          (to the directory 'Pics' found inside the !Mask directory).

 14)  <M> saves masks as 'Mask1', 'Mask2' - similar comments to 13) above.

 15)  <L> displays a catalogue of the current contents of 'Pics' so that you
          can load a new screen/mask. Choose from a,b,c,....

 16)  Keys <1>,<2>,<3>,<4>,<5> choose Mouse speed 1,...,5 (slow,...,fast).
      The default value is 3. A slow speed is useful for fine adjustments
      while drawing the outline of a mask, or when painting with the mask
      as a brush (by pressing <B> on the keyboard).

 17)  <F> toggles through 3 background sizes - Original, Max and Full-screen.

 18)  Press <Tab> to abort/finish plotting with the current mask.

      This will also cause the current screen to become the new updated
      'background', replacing the original (or previous) 'background'.

      We can then start all over again and create more masks if required.

      N.B  Before pressing <Tab> all the mask plotting you have done so far
      can be aborted simply by pressing <O> - doing this will restore the
      'background' to its previous state.  This is useful if you don't like
      the current screen or you've made some mistakes etc.

      In summary - pressing <Tab> essentially finalises the current session,
      since there is no 'undo' facility.


 Note: If the mask has NOT been rotated then <W>,<D> have the same effect as
       <V>,<D> respectively. However if the mask HAS been rotated then they
       have a different effect. Trying it out on a simple rotated shape -
       (a rectangle is a good choice) - should clarify the difference.


 Copyright:  R.A.Swetman
